package com.ruoyi.service.quality;

import com.ruoyi.domain.quality.MesQualityStandard;

import java.util.List;

/**
 * 质量检验标准Service接口
 * 
 * @author ruoyi
 */
public interface IMesQualityStandardService
{
    /**
     * 查询质量检验标准
     * 
     * @param standardId 质量检验标准主键
     * @return 质量检验标准
     */
    public MesQualityStandard selectMesQualityStandardByStandardId(Long standardId);

    /**
     * 查询质量检验标准列表
     * 
     * @param mesQualityStandard 质量检验标准
     * @return 质量检验标准集合
     */
    public List<MesQualityStandard> selectMesQualityStandardList(MesQualityStandard mesQualityStandard);

    /**
     * 校验工艺路线编码是否唯一
     *
     * @param standardCode 工艺路线编码
     * @return 结果
     */
    public String checkStandardCodeUnique(String standardCode , Long standardId);

    /**
     * 根据产品ID查询质量标准列表
     * 
     * @param productId 产品ID
     * @return 质量检验标准集合
     */
    public List<MesQualityStandard> selectStandardsByProductId(Long productId);

    /**
     * 根据工序ID查询质量标准列表
     * 
     * @param processId 工序ID
     * @return 质量检验标准集合
     */
    public List<MesQualityStandard> selectStandardsByProcessId(Long processId);

    /**
     * 查询启用状态的质量标准列表
     * 
     * @return 质量检验标准集合
     */
    public List<MesQualityStandard> selectActiveStandards();

    /**
     * 新增质量检验标准
     * 
     * @param mesQualityStandard 质量检验标准
     * @return 结果
     */
    public int insertMesQualityStandard(MesQualityStandard mesQualityStandard);

    /**
     * 修改质量检验标准
     * 
     * @param mesQualityStandard 质量检验标准
     * @return 结果
     */
    public int updateMesQualityStandard(MesQualityStandard mesQualityStandard);

    /**
     * 批量删除质量检验标准
     * 
     * @param standardIds 需要删除的质量检验标准主键集合
     * @return 结果
     */
    public int deleteMesQualityStandardByStandardIds(Long[] standardIds);

    /**
     * 删除质量检验标准信息
     * 
     * @param standardId 质量检验标准主键
     * @return 结果
     */
    public int deleteMesQualityStandardByStandardId(Long standardId);
}